1. Field of the Invention
The present invention relates to computer-implemented creation of a transformation for transforming colors in a color management system, and particularly to a method and apparatus for creating an overall transformation, wherein the overall transformation is created using a sequence of add operations, each of which adds an individual transformation step and returns information which is used to decide on a transformation step to add in a subsequent add operation.
2. Description of the Related Art
Using a color management system, a color image is processed by a transformation to transform colors in the image from one color space (e.g., RGB, CMYK, CIELab, etc.) to another color space. Typically, a transformation used by the color management system is used with one or more color devices and takes into account the characteristics of each of the devices.
One such characteristic associated with a device is the gamut of colors that the color device can reproduce. Transformation of color image data into a device's color space typically entails the use of a gamut mapping algorithm (GMA) that maps the colors of an image to the gamut of colors of a color device. In addition to transforming the colors of a device's gamut of colors, the color management system (CMS) usually transforms the colors between a device's color space and a device-independent color space. The transformation that transforms colors according to device color space(s) and gamut(s) is ordinarily given in the form of mathematical expressions or as one or more look-up tables.
FIG. 1 illustrates processing in a color management system to transform color image data between color spaces and gamuts using a transformation made up of several steps.
Input device 100 may be, for example, a color scanner which uses the RGB (Red, Green and Blue) device color space. In the example, output device 102, which may be a color printer, uses a different device color space such as the CMYK (Cyan, Magenta, Yellow and Black) device color space. Image data generated by input device 100 using the RGB device color space must be converted to the CMYK device color space for use by output device 102. In addition, those colors in the image data that are not able to be represented in the gamut of colors of output device 102 must be converted to the gamut of output device 102.
Blocks 103 to 105 illustrate a transformation, transformation 110, which includes color space and gamut transformation steps. In each transformation step, color data input to the step is converted to color data output using a transformation. In block 103, the color data received from input device 100 is converted to a color appearance space, such as CIECAM97s, or a device-independent color space, such as CIELab. In block 104, the color data input (e.g., CIECAM97 or CIELab color data) is converted, or gamut mapped, from the gamut of input device 100 to the gamut of output device 102 using a GMA. Thereafter, the color data is converted from color appearance space to the color space of output device 102. Output device 102 can then generate output using the color data.
Transformation 110 is typically defined using device profiles for both the input and output devices. A device profile defines the characteristics of the device. One type of device profile, which is typically referred to as an ICC (International Color Consortium) profile, provides a transformation step in the form of a look-up table that can be used to transform a color image from the device's device-dependent color space to a device-independent color space.
Another type of device profile is a measurement only profile (MOP), which contains measurement data for a given device. The measurement data provides a mapping of a device's color definition in device-dependent color space of a sampling of colors to color measurements of the color samples taken, the color measurements taken in device-independent color space using a measurement device (e.g., a spectrophotometer or colorimeter). The measurement data may be further defined by viewing conditions (e.g., lighting) in which the measurement data was generated. In this regard, commonly-owned U.S. patent application Ser. No. 09/540,012, filed Mar. 31, 2000, entitled “Color Management System Using Measured Device Data”, by John S. Haikin, et al., which provides a CMS that uses measurement data and viewing condition data to construct a color transformation to transform a source color image into a destination device color space, is incorporated herein by reference.
In a conventional color management system, a “create transform” program module is used to produce color transformation 110. The “create transform” module takes as input a list of color profiles, (e.g., input and output device profiles), together with any other information needed to create the transform, such as a rendering intent or GMA, a device characterization module and the like. The “create transform” module receives the input and outputs a transform using the parameters provided. A problem with this approach is that there is little visibility into the creation process performed by the program module. The “create transform” program module may return a status that reflects the overall outcome of the create process as a whole. However, the overall status information that is provided is not helpful in determining a problem with a specific portion of the create process performed by the module.
Therefore, it would be beneficial to have a transform creation process which creates a transformation using separate steps so that information can be gathered about each step, which can be used to determine subsequent steps in the transformation creation process.